package com.lagou.TestDBUtils;

import com.lagou.utils.DruidUtils;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;

import java.sql.Connection;
import java.sql.SQLException;

/**
 * @Author wsl
 * @Date 2021/8/22 23:11
 * @Project_Name mysql
 *
 * QueryRunner实现增、删、改操作
 * 使用update(Connection conn, String sql, Object... params)
 */
public class DBUtilsDemo02 {

    //添加操作
    @Test
    public void testInsert() throws SQLException {

        //1.创建QueryRunner 手动模式
        QueryRunner qr = new QueryRunner();

        //2.编写 占位符方式 SQL
        String sql = "insert into employee values(?,?,?,?,?,?)";

        //3.设置占位符的参数
        Object[] param = {null,"张百万",20,"女",10000,"1990-12-26"};

        //4.执行update 的方法
        Connection con = DruidUtils.getConnection();
        qr.update(con,sql,param);

        //5.释放资源
        DbUtils.closeQuietly(con);
    }

    //2.修改操作 修改姓名为张百万的员工工资
    @Test
    public void testUpdate() throws SQLException {
        //1.创建QueryRunner,自动模式
        QueryRunner qr2 = new QueryRunner(DruidUtils.getDataSource());

        //2.编写 占位符方式 SQL
        String sql = "update employee set salary = ? where ename =?";

        //3.设置占位符的参数
        Object[] param = {0,"张百万"};

        //4.执行update, 不需要传入连接对象
        qr2.update(sql,param);
    }

    //3.删除操作 删除id为1 的数据
    @Test
    public void testDelete() throws SQLException {
        //1.创建QueryRunner,自动模式
        QueryRunner qr3 = new QueryRunner(DruidUtils.getDataSource());

        //2.编写 占位符方式 SQL
        String sql = "delete from employee where eid = ?";
        //3.执行update, 只有一个参数，不需要创建数组
        qr3.update(sql,1);
    }
}
